// 默认暴露
export default {
    // 安装插件
    install(Vue){
         // 定义全局过滤器
        Vue.filter('mySlice',function(value){
            // 过滤字符
            return value.slice(0,4)
        }),
        // 定义全局指令
        Vue.directive('fbind',{
            // 指令与元素成功绑定时（一上来）执行
            bind(element,binding){
                // console.log(this); //注意：此处的this是Window ，directives自定义指令的this都是指向Window
                element.value = binding.value
                console.log('@element',element);
                console.log('@binding',binding);
            },
            // 指令所在的元素被插入页面时执行
            inserted(element,binding){
                // 获取焦点
                element.focus()
            },
            // 指定所在的模板被重新解析时执行
            update(element,binding){
                element.value = binding.value
            }
        }),
        // 定义全局混入
        Vue.mixin({
            data(){
                return {
                    x : 100,
                    y : 999,
                }
            }
        })
        Vue.prototype.hello=()=>{alert('大家好')}
    },

}